package cn.iocoder.yudao.boot.jpa.service;

import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Optional;

public interface SelectService <T, ID> {

    /**
     * 根据主键查询
     * @param id
     * @return
     */
    Optional<T> get(ID id);

    /**
     * 根据多个主键查询
     * @param ids 主键集合
     * @return 查询结果,如果无结果返回空集合
     */
    List<T> list(Iterable<ID> ids);

    /**
     * 查询所有结果
     * @return 所有结果,如果无结果则返回空集合
     */
    List<T> list();


    /**
     * 查询所有结果
     * @return 所有结果,如果无结果则返回空集合
     */
    Page<T> page(Integer page, Integer size);
}
